<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apple iOS (iPhone OS)</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Installation and Build Guide" />
    <link rel="up" href="build_unix.html" title="Chapter 7.  Building Berkeley DB for UNIX/POSIX" />
    <link rel="prev" href="build_unix_hpux.html" title="HP-UX" />
    <link rel="next" href="build_unix_irix.html" title="IRIX" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 12.1.6.2</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Apple iOS (iPhone OS)</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="build_unix_hpux.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 7.  Building Berkeley DB for UNIX/POSIX
    </th>
          <td width="20%" align="right"> <a accesskey="n" href="build_unix_irix.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="build_unix_iphone"></a>Apple iOS (iPhone OS)</h2>
          </div>
        </div>
      </div>
      <p> 
        Building Berkeley DB in Apple iOS (known as iPhone OS
        previously) is the same as building for a conventional UNIX
        platform. This section lists the commands for building
        Berkeley DB in both the iPhone simulator (a software simulator
        included in the iPhone SDK that you can use to test your
        application without using the iPhone/iPod Touch) and the
        iPhone device. 
    </p>
      <p>
        Prior to building BDB in an iPhone simulator/iPhone device,
        set the required environment variables for iOS (iPhone OS).
        For a simulator/iPhone version 4.2 or older, set the LDFLAGS
        variable as follows: 
    </p>
      <pre class="programlisting">export LDFLAGS="-L$SDKROOT/usr/lib/"</pre>
      <p>
        Otherwise, set LDFLAGS as follows:
    </p>
      <pre class="programlisting">export LDFLAGS="-L$SDKROOT/usr/lib/system/"</pre>
      <p> 
        The steps to build BDB in an iPhone simulator are as
        follows:
    </p>
      <pre class="programlisting">export CFLAGS="-arch i386 -pipe -no-cpp-precomp --sysroot=$SDKROOT"
export CXXFLAGS="-arch i386 -pipe -no-cpp-precomp --sysroot=$SDKROOT"
cd $BDB_HOME/build_unix
../dist/configure --host=i386-apple-darwin\
                 --prefix=$SDKROOT ...
make</pre>
      <p> 
        The steps to build BDB in an iPhone device are as follows:
    </p>
      <pre class="programlisting">export CFLAGS="-arch armv6 -pipe -Os -gdwarf-2\
               -no-cpp-precomp -mthumb -isysroot $SDKROOT "
export CXXFLAGS="-arch armv6 -pipe -Os -gdwarf-2\
                 -no-cpp-precomp -mthumb -isysroot $SDKROOT "
cd $BDB_HOME/build_unix
../dist/configure --host=arm-apple-darwin9\
                  --prefix=$SDKROOT ...           
make</pre>
      <p> 
        Both sets of commands create the BDB dynamic library -
        libdb-6.2.dylib. To build the static library,
        libdb-6.2.a, add the
        <code class="literal">--enable-shared=no</code> option while
        configuring. 
    </p>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="build_unix_hpux.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="build_unix.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="build_unix_irix.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">HP-UX </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> IRIX</td>
        </tr>
      </table>
    </div>
  </body>
</html>
